#FC=gfortran 
FC=mpif90
#compilateur
F90 = gfortran

OPT1= #-mp1 -zero -tpp2
OPT2= #-fdefault-real-8
LIBFMPI= -lmpi

#librairies
INCLUDE_DIR =  -I/usr/local/include
INCLUDE_DIR_MPI= -I/usr/lib/openmpi/include/
LIB_DIR = -L/usr/local/lib
#LIB = -lnetcdf

LIBS= -lnetcdf
FFLAGS=-O 

#Repertoire des sources
Rep_Src=src


#Repertoire des modules
Rep_Mod=module

.SUFFIXES: .f .f90 .o 

#Source
Source = $(Rep_Mod)/Mod_Real.f90 \
	$(Rep_Mod)/Mod_MARdim.f90 \
	$(Rep_Mod)/Mod_MARdyn_grid.f90 \
	$(Rep_Mod)/Mod_MAR_control.f90 \
	$(Rep_Mod)/Mod_MARdyn__Hyd.f90 \
	$(Rep_Mod)/Mod_MARdyn__LBC.f90 \
	$(Rep_Mod)/Mod_MARGEo_grid.f90 \
	$(Rep_Mod)/Mod_MARphy_data.f90 \
	$(Rep_Mod)/Mod_MAR____work.f90 \
	$(Rep_Mod)/Mod_Parallele.f90 \
	MARdyn_CORE.f90 libUN.f \
	$(Rep_Src)/MAR_control.f90 \
	$(Rep_Src)/MARdom__Ini.f90 \
	$(Rep_Src)/MARgrid_Ini.f90 \
	$(Rep_Src)/MARgrid_SBL.f90 \
	$(Rep_Src)/MARdyn__Ini.f90 \
	$(Rep_Src)/MARdyn__Hyd.f90 \
	$(Rep_Src)/MARdyn__Hyd_ps.f90 \
	$(Rep_Src)/MARdyn__STAGps.f90 \
	$(Rep_Src)/MARdyn__Hyd_PT.f90 \
	$(Rep_Src)/MARdyn__Hyd_uv.f90 \
	$(Rep_Src)/MARdyn__Hyd_AdvPT_A.f90 \
	$(Rep_Src)/MARdyn__Hyd_AdvPT_C.f90 \
	$(Rep_Src)/MARdyn__Hyd_AdvUV_A.f90 \
	$(Rep_Src)/MARdyn__Hyd_AdvUV_C.f90 \
	$(Rep_Src)/MAR_UT.f90 \
	$(Rep_Src)/MARdyn__Fil.f90 \
	$(Rep_Src)/MARdyn__Fil_1D.f90 \
	$(Rep_Src)/MARdyn__Fil_TD.f90 \
	$(Rep_Src)/MARdyn__Dif_H.f90 \
	$(Rep_Src)/MARdyn__Dif_Hv.f90 \
	$(Rep_Src)/MARdyn__LBC_nud.f90 \
	$(Rep_Src)/MARdyn__LBC_nud_Ini.f90 \
	$(Rep_Src)/MARdyn__LBC_nud_Par.f90 \
	$(Rep_Src)/MARdyn__LBC_nud_Atm.f90 \
	$(Rep_Src)/MARdyn__LBC_nud_Inv.f90 \
	$(Rep_Src)/MARdyn__TgZ.f90 \
	$(Rep_Src)/MARdyn__w.f90 \
	$(Rep_Src)/MARana__lmw.f90 \
	$(Rep_Src)/MARout.f90 \
	$(Rep_Src)/MARout__cdf.f90 \
	$(Rep_Src)/MARphy_data.f90 \
	$(Rep_Src)/WReset.f90 \
	$(Rep_Src)/BOUM.f90




all: affichage MARdyn_CORE fin

affichage :
	@echo ' ';echo 'Compilation des sources : ';echo '----------------------------------------- '	

affichage2 :
	@echo ' ';echo 'Edition des liens :';echo '----------------------------------------- '	

fin :
			@echo ' '
			@echo '!-----------------------!'
			@echo '! Fin de la compilation !'
			@echo '!-----------------------!'
	

.f.o :
		$(F90) -c $(OPT1)  $(INCLUDE_DIR)  $< 

 

.f90.o :
		$(F90) -c $(OPT1) $(OPT2) $(LIBFMPI) $(INCLUDE_DIR_MPI) -o $@ $<


# Include the dependency-list created by makedepf90 below
include .depend
 

clean :
		@echo 'Nettoyage : ';echo '----------------------------------------- '		
		rm -f $(Rep_Src)/*.o
		rm -f $(Rep_Mod)/*.o
		rm -f *.mod
		rm -f *.o
		rm -f MARdyn_CORE 



depend .depend :
		makedepf90 -o MARdyn_CORE $(Source) > .depend


